"""字符串使用规范"""
# 初始化
str1 = 'hello'
str2 = "world"
str3 = '''hello world!'''
str4 = """hello 
world..."""
print(str4)

# 运算
allStr = str1 + str2  # 字符串拼接
allStr2 = str1 * 3  # 字符串复制
print(allStr, allStr2, sep=" ")

# 索引
print(str1[0])  # 第n个索引
print(str1[0:4])  # 前n个字符 包头不包尾
print(str1[0:5:2])  # 第三个参数：隔几个取 步数默认为1，可省略不写，起始索引为0，可省略不写，结束索引默认为-1，可省略不写
print(str1[::2])
print(str1[-1:-6:-1])  # 反转字符串：从-1开始-1减去字符串长度得到结束索引，反向为-1
print(str1[::-1])
print("-----------------------")

# 类型转换
print(str(12), type(str(12)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print("-----------------------")

# 字符串的遍历
for i in str1:
    print(i, end=' ')
print()
for index, char in enumerate(str1):
    print(index, char)
print('----------------------')

# 方法
print(str1.islower())  # 全部为小写
print(str1.isupper())  # 全部为大写
print(str1.isdigit())  # 全部为数字
print(str1.count('l'))
print(str1.strip())  # 去掉字符串末尾多余的空格
print(str3.split(' '))  # 分隔字符串
print(str1.find('l', 3))  # 从指定索引开始找指定的字符,与index方法不同
print("----------------------")
# 案例
s = input("请输入一个字符串")
a, b, c = 0, 0, 0
for i in s:
    if i.isdigit():
        b += 1
    elif i.isalpha():
        a += 1
    else:
        c += 1
print(len(s), a, b, c)
